package com.ssy.jt808.gateway.infrastructure.gateway;


import com.ssy.gaea.message.GaeaMessageBody;
import com.ssy.jt808.gateway.sdk.terminal.constant.AlarmMessageEnum;
import com.ssy.jt808.gateway.sdk.terminal.constant.ConnectionStatusEnum;
import com.ssy.jt808.gateway.sdk.terminal.constant.LocationMessageEnum;
import com.ssy.jt808.gateway.sdk.terminal.message.location.T0200DataMessage;

/**
 * @author wangzezhou
 */
public interface TerminalMessagePublisher{

  /**
   * 发送终端连接状态消息
   *
   * @param messageBody
   */
  void sendConnectionStatus( GaeaMessageBody<ConnectionStatusEnum> messageBody, Long routingKey );

  /**
   * 推送定位信息消息
   *
   * @param messageBody
   */
  void sendLocations( GaeaMessageBody<LocationMessageEnum> messageBody, Long routingKey );

  /**
   * 推送报警信息
   *
   * @param messageBody
   */
  void sendAlarmInfo( GaeaMessageBody<AlarmMessageEnum> messageBody, Long routingKey );


  /**
   * 兼容性消息推送
   *
   * @param message
   */
  void sendT0200Messsage( T0200DataMessage message, Long routingKey );
}
